//函数调用
//1传值调用 swap(a,b);
//形参和实参没有必然的联系,改变形参不改变实参

//2传址调用 swap(&a,&b);
//形参和实参有联系,函数内部直接操作函数外的变量

//一个函数不写返回类型,默认为int 

#include<stdio.h>
#include<math.h>


//1判断素数
int If_Prime(int a)
{
    int i=1;
    for(i=1;i<=sqrt(a);i++)
    {
        if (a%i ==0)
        {
            //printf("%dYes\n",a);
            return(1);//用返回值的方式
            break;
        }
        
    }
    if (i>sqrt(a))
    {
        //printf("%dNo\n",a);
        return 0;
    }
}

//判断闰年
int If_Leapyear(int a)
{
    if (a%4 ==0 && a%100 !=0 || a%400==0)
    {
        return 1;
    }
    else
        return 0;

}

//实现整形有序数的查找
int Search(int k,int sz,int arr[])
{
    //错误,数组arr传参传递的不是数组本身,仅仅传递看了首元,int arr[]相当于int *arr[]
    //int sz =sizeof(arr)/sizeof(arr[0]);

    int left =0;
    int right =sz-1;
    int mid =(left+right)/2;

    if (k>arr[right])
    {
        printf("没有");
        return 0;
    }
    while (left<=right)
    {
        if (arr[mid]<k)
        {
            left=mid +1;
        }
        else if (arr[mid]>k)
        {
            right =mid -1;
        }
        else 
        {
            printf("%d",mid);
            break;
        }
    }
    
    return 0;
}


int main()
{
    // int a;
    // scanf("%d",&a);
    // if(If_Prime(a)==1)
    // {
    //     printf("1");
    // }
    // else
    // {
    //     printf("0");
    // }

    // printf("%d",If_Leapyear(2024));

    int arr[] ={1,3,4,5,6,7,8,9,10,11};
    int key =6;
    int sz =sizeof(arr)/sizeof(arr[0]);
    Search(key,sz,arr);//arr


    return(0);
}